<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    promise是es6新增的异步编程解决方案，语法上promise是一个构造函数，用来生成promise的实例对象
    promise有三种状态：pending（等待态）、fulfilled（成功态）、rejected（失败态）
    promise实例对象拥有then方法，then方法接收两个参数，第一个参数是成功回调，第二个参数是失败回调
    promise实例对象拥有catch方法，catch方法接收一个参数，参数是失败回调
</body>
<script>
    // 原生的ajax
    // let xhr = new XMLHttpRequest();
    // xhr.open('get', 'http://localhost:3000/users', true);
    // xhr.send();
    // xhr.onreadystatechange = function () {
    //     if (xhr.readyState === 4 && xhr.status === 200) {
    //         console.log(xhr.response);
    //     } else {
    //         console.error('失败了');
    //     }
    // }

    let promise = new Promise(function (resolve, reject) {
        let xhr = new XMLHttpRequest();
        xhr.open('get', 'http://localhost:3000/users', true);
        xhr.send();
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
                resolve('成功了');
            } else {
                reject('失败了');
            }
        }
    });
    promise.then(function (value) {
        console.log(value);
    }, function (reason) {
        console.log(reason);
    })

</script>

</html>